#if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR) #pragma warning disable using System; using System.Collections; using System.IO; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Nist; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.Ntt; using BestHTTP.SecureProtocol.Org.BouncyCastle.Asn1.X509; using BestHTTP.SecureProtocol.Org.BouncyCastle.Cms; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.IO; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Parameters; using BestHTTP.SecureProtocol.Org.BouncyCastle.Security; using BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto; using BestHTTP.SecureProtocol.Org.BouncyCastle.Crypto.Operators; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Operators { public class CmsContentEncryptorBuilder { private static readonly IDictionary KeySizes = BestHTTP.SecureProtocol.Org.BouncyCastle.Utilities.Platform.CreateHashtable(); static CmsContentEncryptorBuilder() { KeySizes[NistObjectIdentifiers.IdAes128Cbc] = 128; KeySizes[NistObjectIdentifiers.IdAes192Cbc] = 192; KeySizes[NistObjectIdentifiers.IdAes256Cbc] = 256; KeySizes[NttObjectIdentifiers.IdCamellia128Cbc] = 128; KeySizes[NttObjectIdentifiers.IdCamellia192Cbc] = 192; KeySizes[NttObjectIdentifiers.IdCamellia256Cbc] = 256; } private static int GetKeySize(DerObjectIdentifier oid) { if (KeySizes.Contains(oid)) { return (int)KeySizes[oid]; } return -1; } private readonly DerObjectIdentifier encryptionOID; private readonly int keySize; private readonly EnvelopedDataHelper helper = new EnvelopedDataHelper(); //private SecureRandom random; public CmsContentEncryptorBuilder(DerObjectIdentifier encryptionOID) : this(encryptionOID, GetKeySize(encryptionOID)) { } public CmsContentEncryptorBuilder(DerObjectIdentifier encryptionOID, int keySize) { this.encryptionOID = encryptionOID; this.keySize = keySize; } public ICipherBuilderWithKey Build() { //return new Asn1CipherBuilderWithKey(encryptionOID, keySize, random); return new Asn1CipherBuilderWithKey(encryptionOID, keySize, null); } } } #pragma warning restore #endif